home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 376-400 / disk_376 / aztecarp / arpreadme! < prev    next >
Text File  |  1992-05-06  |  7KB  |  148 lines

  1. ================== Arp 'wrapper' for Manx Aztec 'C' 5.0 ==================
  2. ==========================================================================
  3. Arp  is  Copyright  (c) 1987, 88, 89 by ARP Authors.  All Rights Reserved.
  4. Wrapper for Manx Aztec 'C' 5.0 updated by Olaf 'Olsen' Barthel of MXM.
  5.  
  6. ================================ Purpose =================================
  7. ==========================================================================
  8. The  5.0a  update  to  the  Aztec  'C'  compiler  comes  with  the new Arp
  9. distribution  files.   That's  fine,  you  may  think,  but:   the  linker
  10. libraries  do not work.  Since Manx once more decided to change the format
  11. of  the  object  files all modules have to be recompiled.  And there's the
  12. second  'trap':   you  can't  recompile  the  libraries using the supplied
  13. files.   Furthermore  the  original Arp distribution disk includes special
  14. startup  code  which  allows  the creation of programs to be made resident
  15. ('pure').   Is  this  code  included with the 5.0 release?  I think you've
  16. guessed  it  -  it  isn't.   Some  files  wouldn't  work properly (missing
  17. INT32s), some wouldn't work at all (scdir.c).
  18.  
  19. ================================ Contents ================================
  20. ==========================================================================
  21. This  distribution  includes  40  main  files which are listed below.  The
  22. single  library glue routines have been placed in the 'glue' subdirectory.
  23.  
  24.     ----------------------- 16 bit modules ---------------------------
  25.  
  26.     a16.lib         = Arp interface library (no startup code)
  27.     arp16.lib       = Arp interface library with startup code
  28.  
  29.     arpdetach16.o   = Arp compatible detach.??? replacement
  30.     gads16.o        = Arp replacement for _cli_parse()
  31.     rstart16.o      = Resident module startup code (Arp only)
  32.     resident16.o    = Resident module startup code
  33.  
  34.     ----------------------- 32 bit modules ---------------------------
  35.  
  36.     a.lib           = Arp interface library (no startup code)
  37.     arp.lib         = Arp interface library with startup code
  38.  
  39.     arpdetach.o     = Arp compatible detach.??? replacement
  40.     gads.o          = Arp replacement for _cli_parse()
  41.     rstart.o        = Resident module startup code (Arp only)
  42.     resident.o      = Resident module startup code
  43.  
  44.     ----------------------- Header files -----------------------------
  45.  
  46.     arpbase.h       = Arp base main include file
  47.     arp.h           = Arp library function pragma calls (Manx/Lattice)
  48.  
  49.     ----------------------- Library modules --------------------------
  50.  
  51.     clihelp.c       = CLI Help string definition
  52.     cliparse.c      = Standard CLI parsing module (with Arp flavour)
  53.     clitemp.c       = CLI argument template
  54.     exit.c          = Exit subroutine
  55.     gads.c          = Arp compatible replacement for cliparse.c
  56.  
  57.     calloc.c        = Arp replacement for calloc
  58.     fmalloc.c       = Arp replacement for fmalloc
  59.     free.c          = Arp replacement for free
  60.     lcalloc.c       = Arp replacement for lcalloc
  61.     lmalloc.c       = Arp replacement for lmalloc
  62.     malloc.c        = Arp replacement for malloc
  63.  
  64.     pragma.c        = File to be precompiled
  65.     scdir.c         = Arp replacement for scdir()
  66.     vars.c          = Arp global program variables
  67.     wbparse.c       = Arp workbench parsing routine
  68.  
  69.     _exit.c         = Arp exit routine
  70.     _main.c         = Arp main routine (calls your custom main())
  71.  
  72.     aztecglue.asm   = Arp library interface stubs (obsolete)
  73.     crt0.asm        = Arp Aztec 'C' startup code
  74.     dospkt.asm      = Arp replacement for dos_packet()
  75.     lvo.asm         = Arp library vector offsets
  76.     rstart.asm      = Source code for resident module startup code
  77.     tracker.asm     = Arp item tracker source code
  78.  
  79.     ----------------------- Makefiles --------------------------------
  80.  
  81.     makefile        = File needed to rebuild the 32 bit libraries
  82.     makefile16      = File needed to rebuild the 16 bit libraries
  83.  
  84.     ----------------------- Library glue files -----------------------
  85.  
  86.     glue        = Subdirectory containing 'C' glue code
  87.  
  88. ================================= Usage ==================================
  89. ==========================================================================
  90. The  Arp libraries are linked just like the standard libraries.  Note that
  91. the  default  are 32 bit integers.  If you want to build resident programs
  92. all  modules  have  to  be  compiled  with the -m0b switch (to disable the
  93. creation of the .begin statement).
  94.  
  95. Examples:    CC -so Test.c
  96.         LN Test.o -Larp -Lc
  97.  
  98.         CC -so -m0b Test.c
  99.         LN -o Test rstart.o Test.o -Larp -lc
  100.  
  101. Note  that  it  is  not recommended to use the arpdetach.o module together
  102. with  the rstart.o module unless you check the Arp resident list if you're
  103. already on it (-> a resident program shouldn't do the segment split).
  104.    Starting  with  the  v1.5  release  of  this package, the arpdetach.???
  105. module  supports two new keywords (STICKY -> do not perform segment split,
  106. PARENT -> retain address of calling process).
  107.  
  108. ================================= Author =================================
  109. ==========================================================================
  110. The  files  in  this  distribution  were  put together and updated by Olaf
  111. 'Olsen' Barthel of MXM.  The author can be reached via standard mail at:
  112.  
  113.                                Olaf Barthel
  114.                             Brabeckstrasse 35
  115.                              3000 Hannover 71
  116.  
  117.                        Federal Republic of Germany
  118.  
  119.                         Or via electronic mail at:
  120.  
  121.                        Olaf Barthel@Fido 2:247/200
  122.                   Digital Fantasy II (05 11 / 39 22 74)
  123.  
  124. Torsten  Jürgeleit  contributed  ideas and code fragments for v1.5 of this
  125. package.   He  also  discovered  substantial  errors  in  tracker.asm  and
  126. dospkt.asm.
  127.  
  128. ============== Revision history (most recent change first) ===============
  129. ==========================================================================
  130. V1.6    The darn library glue files always used the wrong offsets!
  131.  
  132. V1.5    Torsten  Jürgeleit  supplied  bug  fixes and new routines, updated
  133.     _main.c   (arpdetach??.o),   fmalloc  and  added  16  bit  library
  134.     creation.   Olsen added resident??.o and split fmalloc into single
  135.     files.
  136.  
  137. V1.4    Fixed missing macros in scdir.c (ARRGH!).
  138.  
  139. V1.3    Split aztecglue.asm into single files (long file still included).
  140.  
  141. V1.2    Introduced  new  variable  '__sloppy__'  set  TRUE  if DOSBase was
  142.     initialized by startup code.
  143.  
  144. V1.1    Changes  to  vars.c,  _main.c  and  rstart.asm to support resident
  145.     programs which don't use Arp.
  146.  
  147. V1.0    Initial update.
  148.